<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>javascript 阶段</title>
</head>
<body>


    <script>
        // 检查数据是否为 array 类型,  数组构造函数 Array
        // constructor 
        var arr = [];
        console.log(arr.__proto__.constructor === Array);// true
        var num = 123;
        console.log(num.__proto__.constructor === Number);// true


        // 定义Animal 构造构造函数
        function Animal(){}
        Animal.prototype.foo = function(){
            console.log("foo");
        }

        // 创建Animal的实例
        var a1 = new Animal()

        // 定义Cat 构造函数
        function Cat(){}
        Cat.prototype = {
            // 重定向构造函数
            constructor: Cat,
            // 添加Animal原型的方法
            foo: a1.foo  
        }


        // 创建Cat的实例
        var tom = new Cat();
        // console.log(tom.__proto__.constructor === Cat);// false 没设置constructor
        console.log(tom.__proto__.constructor === Cat);// true

        // 调用了Animal原型的方法
        tom.foo();


    </script>
</body>
</html>